#include <iostream>
#include <ncurses.h>
#include <cstdlib>
using namespace std;

//template<const auto & V>
//struct TestT;
//template<typename T>
//concept CArray = std::is_array_v<std::size<
//template <const auto & V>
//struct TestT<V> {
//    // Check if it has decayed
//    constexpr static auto value = std::extent_v<std::remove_cvref_t<decltype(V)>>;
//};
//int main () {
//    constexpr static int arr[123] = {};
//    std::cout << TestT<arr>::value << endl;
//}

template<typename T>
struct TFunc : std::false_type {};

template<size_t N>
struct TFunc<int[N]> : std::true_type {};
int main () {
    int a[12];
    TFunc<decltype(a)>::value;
}